Merges pages from multiple PDF files into one output stream PDF file.
public void MergeFiles(PDFPageRangeFromStream[] srcPages,Stream outStream)
public void MergeFiles(Leadtools.Pdf.PDFPageRangeFromStream srcPages[],leadtools.ILeadStream outStream);
public:void MergeFiles(Leadtools.Pdf.PDFPageRangeFromStream[]^ srcPages[],Stream^ outStream)
srcPages
The array indicating which page range should be merged. The array cannot be null. Each item in the array contains the source file, password (optional), first and last page.
outStream
Stream where the destination PDF file will be written. This value cannot be null.
Each element of the srcPages array specifies a page interval (first and last page) and an optional source file stream.
If the source stream for any member of the srcPages array item is null, the operation will fail.
The output file will have the default properties and the resulting file will not be encrypted.
There is another version of this method, which takes file names instead of streams: PDFFile.MergeFiles(PDFPageRange[] srcPages, String destinationFileName).
This method is the most generic of all the PDFFile.ExtractPages and PDFFile.MergeWith methods and can be used to replace any of them.
In other words:
import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.nio.file.Files;import java.nio.file.Paths;import java.nio.file.StandardCopyOption;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Scanner;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.codecs.*;import leadtools.pdf.*;private static void pdfMergeTest() {String folder = "C:\temp\";String pdfFile1 = "1.pdf";String pdfFile2 = "2.pdf";String outputFile = "Result.pdf";try (FileInputStream pdfStreamFile1 = new FileInputStream(new File(folder + pdfFile1));FileInputStream pdfStreamFile2 = new FileInputStream(new File(folder + pdfFile2));FileOutputStream pdfStreamFile3 = new FileOutputStream(new File(folder + outputFile))) {PDFPageRangeFromStream[] range = new PDFPageRangeFromStream[2];range[0] = new PDFPageRangeFromStream();range[0].setFirstPageNumber(1);range[0].setLastPageNumber(-1);range[0].setStream(pdfStreamFile1);if (PDFFile.IsEncrypted(pdfFile1))range[0].setPassword("LEAD");range[1] = new PDFPageRangeFromStream();range[1].setFirstPageNumber(1);range[1].setLastPageNumber(-1);range[1].setStream(pdfStreamFile2);if (PDFFile.IsEncrypted(pdfFile2))range[1].setPassword("LEAD");PDFFile.mergeFiles(range, pdfStreamFile3);} catch (IOException e) {e.printStackTrace();}}
using Leadtools.WinForms;using Leadtools;using Leadtools.Codecs;using Leadtools.Controls;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.Pdf;using Leadtools.Svg;private static void PDFMergeTest(){string folder = @"C:\temp\";string pdfFile1 = "1.pdf";string pdfFile2 = "2.pdf";string outputFile = @"Result.pdf";using (FileStream pdfStreamFile1 = File.Open(folder + pdfFile1, FileMode.Open, FileAccess.Read, FileShare.Read))using (FileStream pdfStreamFile2 = File.Open(folder + pdfFile2, FileMode.Open, FileAccess.Read, FileShare.Read))using (FileStream pdfStreamFile3 = File.Create(folder + outputFile)){PDFPageRangeFromStream[] range = new PDFPageRangeFromStream[2];range[0].FirstPageNumber = 1;range[0].LastPageNumber = -1;range[0].Stream = pdfStreamFile1;if (PDFFile.IsEncrypted(pdfFile1))range[0].password = "LEAD";range[1].FirstPageNumber = 1;range[1].LastPageNumber = -1;range[1].Stream = pdfStreamFile2;if (PDFFile.IsEncrypted(pdfFile2))range[1].password = "LEAD";PDFFile.MergeFiles(range, pdfStreamFile3);}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
